css: Use multiple font-family values
authorMatthias Clasen <mclasen@redhat.com>
Fri, 3 May 2019 01:18:42 +0000 (01:18 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 3 May 2019 01:44:02 +0000 (01:44 +0000)
Pango API to support this, so we can implement
this very easily.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1854
gtk/gtkcssshorthandpropertyimpl.c

index fcd250befdc810c4a6371c691b5ce2f618ec5dd4..0ada0f6a3e7b385d71b07bd0a069b18e8ff5efc0 100644 (file)
@@ -1143,8 +1143,18 @@ pack_font_description (GtkCssShorthandProperty *shorthand,
   v = (* query_func) (GTK_CSS_PROPERTY_FONT_FAMILY, query_data);
   if (v)
     {
-      /* xxx: Can we set all the families here somehow? */
-      pango_font_description_set_family (description, _gtk_css_string_value_get (_gtk_css_array_value_get_nth (v, 0)));
+      int i;
+      GString *s = g_string_new ("");
+
+      for (i = 0; i < _gtk_css_array_value_get_n_values (v); i++)
+        {
+          if (i > 0)
+            g_string_append (s, ",");
+          g_string_append (s, _gtk_css_string_value_get (_gtk_css_array_value_get_nth (v, i)));
+        }
+
+      pango_font_description_set_family (description, s->str);
+      g_string_free (s, TRUE);
     }
 
   v = (* query_func) (GTK_CSS_PROPERTY_FONT_SIZE, query_data);